/**
 * 
 */
package junit;

import java.util.Date;

import es.uab.es2.TimeTracker.nucli.Interval;
import es.uab.es2.TimeTracker.nucli.Rellotge;
import es.uab.es2.TimeTracker.nucli.Tasca;
import junit.framework.TestCase;

/**
 * @author sule
 *
 */
public class TestInterval extends TestCase {
    
    private final Interval intervalProva;
    private final Tasca tascaProva;
    private final Rellotge clock;
    private static final long DOS_SEGONS = 2000;

    /* (non-Javadoc)
     * @see junit.framework.TestCase#setUp()
     */
    protected final void setUp() throws Exception {
        super.setUp();
        tascaProva = new Tasca();
        intervalProva = new Interval("I1" , "D1" , tascaProva);
        clock = Rellotge.getInstancia();
        }
    
    //comprovem que el contructor funciona correctament
    public final void testContingut() {
        assertEquals(intervalProva.getNombre(), "I1");
        assertEquals(intervalProva.getDescripcio(), "D1");
        assertEquals(intervalProva.getTascaPare(), tascaProva);
    }
    //COmprovem que es pasa la data de l'interval a tasca correctament
    public final void testDataFinal() {
       Date dataProva = new Date();
     intervalProva.repartirDataFinal(dataProva);
        assertEquals(tascaProva.getDataFinal().getTime(), dataProva.getTime());
        assertNotSame(tascaProva.getDataFinal().getTime(), dataProva.getTime());
      
    }
    //Comprovem que es pasa correctament el temps de l'interval a tasca.
    public final void testRepartirDurada() {
        intervalProva.repartirDurada(DOS_SEGONS);
        assertEquals(tascaProva.getDurada(), DOS_SEGONS);
        assertEquals(intervalProva.getDurada(), DOS_SEGONS);
        assertNotSame(intervalProva.getDurada(), DOS_SEGONS);
       
        
    }
    
}
